package com.fortune.dao;

import com.fortune.dto.in.cPriceMgt.CPriceAddDto;
import com.fortune.dto.in.cPriceMgt.CPriceEditDto;
import com.fortune.dto.in.cPriceMgt.CPriceListDto;
import com.fortune.dto.in.cPriceMgt.CWholesalePriceDto;
import com.fortune.vo.cPriceMgt.CClientPrice;
import com.fortune.vo.cPriceMgt.CClientWholesalePrice;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface CProductWholesalePriceDao {
    /**
     * 客户批发价列表
     * @param companyId
     * @param dealerId
     * @param listDto
     * @return
     */
    List<CClientPrice> queryProductPriceList(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("listDto") CPriceListDto listDto);

    /**
     * 客户批发价列表个数
     * @param companyId
     * @param dealerId
     * @param listDto
     * @return
     */
    int queryProductPriceListCount(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("listDto") CPriceListDto listDto);

    /**
     * 新增客户批发
     * @param companyId
     * @param dealerId
     * @param addDto
     * @return
     */
    int addProductWholesalePrice(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("addDto") CPriceAddDto addDto);

    /**
     * 编辑客户批发
     * @param companyId
     * @param dealerId
     * @param editDto
     * @return
     */
    int editProductWholesalePrice(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("editDto") CPriceEditDto editDto);

    /**
     * 删除客户批发
     * @param companyId
     * @param dealerId
     * @param productId
     * @param clientId
     * @return
     */
    int deleteProductWholesalePrice(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("productId") String productId, @Param("clientId") String clientId);

    /**
     * 查询客户统一批发价
     * @param companyId
     * @param dealerId
     * @param cWholesalePriceDto
     * @return
     */
    List<CClientWholesalePrice> queryProductWholesalePriceList(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("cWholesalePriceDto") CWholesalePriceDto cWholesalePriceDto);

    /**
     * 查询客户统一批发价个数
     * @param companyId
     * @param dealerId
     * @param cWholesalePriceDto
     * @return
     */
    int queryProductWholesalePriceListCount(@Param("companyId") String companyId, @Param("dealerId") String dealerId, @Param("cWholesalePriceDto") CWholesalePriceDto cWholesalePriceDto);
}
